Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

роботи

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Технології розподілених систем та паралельних обчислень

Частина тексту файла

Міністерство освіти і науки України Національний університет «Львівська політехніка» Лабораторна робота №3 з дисципліни: «Технології розподілених систем та паралельних обчислень» Варіант - 6 Тема роботи: Сучасні технології паралельного та розподіленого програмування у порівнянні з технологією OpenMP. Мета роботи: Оволодіти практичними прийомами розробки паралельних алгоритмів та розподілених програм за допомогою сучасних технологій програмування, дослідити їх переваги при розв’язанні практичних задач у порівнянні з технологією OpenMP. Завдання: Обчислити суму 1/1 + 1/2 + 1/3 + … до заданої кількості знаків після коми. Виконання. Код програми: #include <iostream> #include <time.h> #include <sstream> #include <amp.h> #include <amp_math.h> //#include <ppl.h> using namespace std; using namespace concurrency; void main() { setlocale(LC_ALL, ""); double *ms, sum = 0, temp = 0, temp_sum = 0;//Для розміщення добутків і знаходження суми int size = 0, temp_koma = 1; clock_t t1;//Змінна, яка буде підраховувати час роботи програми cout << "Кiлькiсть значень пiсля коми: "; cin >> size; for (int i = 0; i < size; ++i) temp_koma = temp_koma * 10; temp = 1 / (double)temp_koma; cout << "Значення пiсля коми: " << temp << endl; cout << "Результат операцiї дiлення [частка]" << endl; int count = 0; if (size == 1) count = 3; if (size == 2) count = 13; if (size == 3) count = 31; if (size == 4) count = 35; if (size == 5) count = 351; if (size == 6) count = 1203; if (size == 7) count = 3630; if (size == 8) count = 8778; size = temp_koma + count; ms = new double[size]; t1 = clock();//Для часу роботи всієї програми array_view<double, 1> summm(size, ms); //size = 5; parallel_for(0, size, [=](int i) //restrict(amp) { summm[i] = (double)1 / (i + 1); }); for (unsigned int i = 0; i < size; ++i){ sum += summm[i]; cout << summm[i] << endl; } t1 = clock() - t1; printf("\nЦе забрало (%f секунд).\n", ((float)t1) / CLOCKS_PER_SEC);//Вивід часу роботи програми cout << endl << "Сума чисел: " << sum << endl; free(ms); system("pause"); } Програма в роботі: Час з використанням AMP / Без використанням AMP / Висновок: на лабораторній роботі було виконано завдання написавши код, який реалізовує алгоритм його виконання. Використав для розпаралелення іншу технологію, під назвою AMP, бібліотека встроєна в Visual Studio 2013. Ця технологія дуже подібна до omp і в багатьох джерелах порівнюють між собою ці 2 технології. amp це оновлення до omp або створено на його прикладі. AMP на мою думку більш гнучкіша і стійкіша до виключень, тому що більш чітко потрібно писати код, у іншому випадку буде враховуватись як помилка. На мою думку це краще, тому що краще зразу написати код без помилок, ніж пізніше шукати проблему і виправляти проблему.
Антиботан аватар за замовчуванням

06.12.2015 18:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини